package com.cmas.platform.domain;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import com.aidex.common.core.domain.BasePlusEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aidex.common.utils.log.annotation.FieldRemark;
import com.aidex.common.utils.log.annotation.LogField;
import com.aidex.common.annotation.Excel;

/**
 * 地区地图对象 region_map
 * @author su
 * @email 1218819874@qq.com
 * @date 2023-03-14
 */
@Data
public class RegionMap extends BasePlusEntity
{
    private static final long serialVersionUID = 1L;

    /** 区域地图名称 */
    @Excel(name = "区域地图名称")
    @NotBlank(message = "区域地图名称不允许为空")
    @Size(max = 32, message = "区域地图长度不能超过32个字符")
    @LogField
    @FieldRemark(name = "区域地图名称",field = "name")
    private String name;

    /** 区域ID */
    @Excel(name = "区域ID")
    @LogField
    @FieldRemark(name = "区域ID",field = "regionId")
    private String regionId;

    /** 区域地图纬度 */
    @Excel(name = "区域地图纬度")
    @NotBlank(message = "区域地图纬度不允许为空")
    @LogField
    @FieldRemark(name = "区域地图纬度",field = "longitude")
    private String longitude;

    /** 区域地图经度 */
    @Excel(name = "区域地图经度")
    @NotBlank(message = "区域地图经度不允许为空")
    @LogField
    @FieldRemark(name = "区域地图经度",field = "latitude")
    private String latitude;

    /** 区域地图范围半径 */
    @Excel(name = "区域地图范围半径")
    @LogField
    @FieldRemark(name = "区域地图范围半径",field = "range")
    @TableField("`range`")
    private Integer range;

    /** 区域地图缩放等级 */
    @Excel(name = "区域地图缩放等级")
    @LogField
    @FieldRemark(name = "区域地图缩放等级",field = "scale")
    private Integer scale;

    /** 区域地图纵向偏移量 */
    @Excel(name = "区域地图纵向偏移量")
    @LogField
    @FieldRemark(name = "区域地图纵向偏移量",field = "longitudinalOffset")
    private Integer longitudinalOffset;

    /** 区域地图横向偏移量 */
    @LogField
    @FieldRemark(name = "区域地图横向偏移量",field = "lateralOffset")
    private Integer lateralOffset;

    /** 区域地图文本边缘留白 */
    @LogField
    @FieldRemark(name = "区域地图文本边缘留白",field = "padding")
    private Integer padding;

    /** 显示方式 */
    @LogField
    @FieldRemark(name = "显示方式",field = "display")
    private String display;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("name", getName())
            .append("regionId", getRegionId())
            .append("longitude", getLongitude())
            .append("latitude", getLatitude())
            .append("range", getRange())
            .append("scale", getScale())
            .append("longitudinalOffset", getLongitudinalOffset())
            .append("lateralOffset", getLateralOffset())
            .append("padding", getPadding())
            .append("display", getDisplay())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
